package com.mc.code.mapper;


import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.mc.code.entity.sys.SysUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
@Component
public interface SysUserMapper extends BaseMapper {

    //根据最大的id返回管理员账号
    String findMaxId();

    //查找管理员信息,用于展示所有管理员信息
//     List<SysUser> findUserList();

     //根据条件进行选择性查找
    List<SysUser> findUserByCondition(@Param("adminNo") String adminNo,
                                      @Param("adminName") String adminName,
                                      @Param("state") String state,
                                      @Param("currentPage") int currentPage,
                                      @Param("pageCount") int pageCount);

    //根据id查找管理员信息
    SysUser findUserById(int id);

     //根据管理员编号查找
     SysUser findUserByNo(String adminNo);

     //根据管理员姓名查找
     SysUser findUserByName(String adminName);

     //添加管理员信息
    int save(SysUser sysUser);

    //普通管理员根据编号自己修改基本信息
    int updateUser(SysUser sysUser);

    //超级管理根据id修改管理员信息
    int updateUserById(SysUser sysUser);

    //超级管路员根据id启用管理员
    int enableById(int id);

    //超级管理员根据id禁用管理员
    int disableById(int id);

    //超管根据id删除管理员信息（逻辑删除）
    int deleteUser(int id);

    //根据编号查找id值
    int findIdByAdminNo(String adminNo);

    //向sys_user_role中插入数据
    int saveToUserRole(@Param("userId") int userId, @Param("roleId") int roleId);

    //修改sys_user_role中的角色
    int updateRole(@Param("userId") int userId, @Param("roleId") int roleId);

    //------用于实现分页-------
    //获得多条件查询的总页数
    int getTotalPage(@Param("adminNo") String adminNo,
                     @Param("adminName") String adminName,
                     @Param("state") String state);



}
